package com.chenhao.springcloud.chenhaodesignservice.algorithm.bubble;

import java.util.Arrays;

/**
 * Description: 冒泡排序demo
 * 算法描述
 * 1、比较相邻的元素。如果第一个比第二个大，就交换它们两个；
 * 2、对每一对相邻元素作同样的工作，从开始第一对到结尾的最后一对，这样在最后的元素应该会是最大的数；
 * 3、针对所有的元素重复以上的步骤，除了最后一个；
 * 4、重复步骤1~3，直到排序完成。
 *
 * @author chenhao
 * @date 2020/6/5 14:02
 */
public class bubbleDemo {
    /**
     *  冒泡算法
     * @param array
     * @return void
     * @author chenhao
     *
     * @date 2020/6/5 14:10
     */
    public static void bubbleSort(int[] array){
        if (array==null&&array.length<=1){
            return;
        }
        int length = array.length;
        for (int i=0; i<length;i++){
            for (int j=0;j<length-1;j++){
                if (array[j]>array[j+1]){
                    int temp = array[j+1];
                    array[j+1] = array[j];
                    array[j] = temp;
                }

            }
        }
    }


    public static void main(String[] args) {
        int[] array = {3, 44, 38, 5, 47, 15, 36, 26, 27, 2, 46, 4, 19, 50, 48};
        // 只需要修改成对应的方法名就可以了
        bubbleSort(array);
        System.out.println(Arrays.toString(array));
    }
}
